/*
 * @Author: c
 * @Date: 2024-01-13 16:35:09
 * @LastEditTime: 2024-03-21 18:38:18
 * @LastEditors: c
 * @Description:
 * @FilePath: \music-web-admin\src\api\application\artist\types.ts
 * https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
// Copyright 2024 Administrator
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

import { UploadFileDto } from "@/api/minio/type";
import { GenderEnum } from "@/enums/gender.enum";

// Generated by https://quicktype.io

type WH = number | null;

export interface ArtistForm {
  //歌手ID
  id?: number;
  //生日
  birthday: string;
  //照片墙
  pictorialList: UploadFileDto[];
  //性别
  gender: GenderEnum;
  //介绍
  introduce: string;
  //体重
  weight: WH;
  //头像
  pic: UploadFileDto[];
  ///血型
  blood: string;
  //歌手代码
  artistCode: string;
  //出生地
  birthPlace?: string;

  //国家/地区
  nativeList?: string[];
  //名字
  name: string;
  pinyinName: string;
  //地区
  region?: string;
  //身高
  height: WH;
  //状态
  status: number;
}
export interface ArtistInfo {
  birthday: string;
  pictorialList: string[];
  gender: string;
  introduce: string;
  weight: number;
  pic: string;
  blood: string;
  artistCode: string;
  birthPlace: string;
  nativeList: string[];
  name: string;
  region: string;
  height: number;
  albumTotal: number;
  trackTotal: number;
  videoTotal: number;
  isFavorite: number;
  favoriteCount: number;
}

// export interface UploadFileDto extends UploadFile {
//   id?: string;
//   picType?: PictorialEnum;
// }

/**
 * 歌手查询对象类型
 */
export interface ArtistQuery extends PageQuery {
  keywords?: string;
  status?: number;
  startTime?: string;
  endTime?: string;
}
/**
 * 专辑查询对象类型
 */
export interface AlbumQuery extends PageQuery {
  alubmName?: string;
}

/**
 * 用户分页对象
 */
export interface ArtistPageVO extends ArtistInfo {}
